查看原文
其他

【深度学习Attention详解】记忆力与注意力机制讲义,复旦邱锡鹏老师《神经网络与深度学习》教程系列分享04(附pdf下载)

2017-11-19 专知内容组(编) 专知

点击上方“专知”关注获取专业AI知识!

【导读】复旦大学副教授、博士生导师、开源自然语言处理工具FudanNLP的主要开发者邱锡鹏(http://nlp.fudan.edu.cn/xpqiu/)老师撰写的《神经网络与深度学习》书册,是国内为数不多的深度学习中文基础教程之一,每一章都是干货,非常精炼。邱老师在今年中国中文信息学会《前沿技术讲习班》做了题为《深度学习基础》的精彩报告,报告非常精彩,深入浅出地介绍了神经网络与深度学习的一系列相关知识,基本上围绕着邱老师的《神经网络与深度学习》一书进行讲解。专知希望把如此精华知识资料分发给更多AI从业者,为此,专知特别联系了邱老师,获得他的授权同意分享。邱老师特意做了最新更新版本,非常感谢邱老师!专知内容组围绕邱老师的讲义slides,进行了解读,请大家查看,并多交流指正! 此外,请查看本文末尾,可下载最新神经网络与深度学习的slide



邱老师的报告内容分为三个部分:

  • 概述

    • 机器学习概述

    • 线性模型

    • 应用

  • 基础模型

    • 前馈神经网络

    • 卷积神经网络

    • 循环神经网络

    • 网络优化与正则化

    • 应用

  • 进阶模型

    • 记忆力与注意力机制

    • 无监督学习

    • 概率图模型

    • 深度生成模型

    • 深度强化学习

    • 模型独立的学习方式

    • 哈工大在事理图谱方面的探索


【特此注明】本报告材料获邱锡鹏老师授权发布,由于笔者能力有限,本篇所有备注皆为专知内容组成员通过根据报告记录和PPT内容自行补全,不代表邱锡鹏老师本人的立场与观点。

邱老师个人主页: http://nlp.fudan.edu.cn/xpqiu/

课程Github主页:https://nndl.github.io/




神经网络与深度学习

人脑在资源有限的情况下通过记忆和注意力机制来解决信息过载问题,类似的,如果要存储越多的信息,神经元数量就要越多或者网络要越复杂。这都会导致神经网络的参数成倍地增加。为了解决这样的问题,也在神经网络中引入记忆和注意力机制。当用神经网络来处理大量的输入信息时,也可以借鉴人脑的注意力机制,只选择一些关键的信息输入进行处理,来提高神经网络的效率。


以阅读理解任务为例,给定一篇很长的文本段落,然后就此文本段落的内容进行提问。提出的问题只和段落中的一两个句子相关,其余部分都是无关的。我们仅仅需要把相关的片段挑选出来就足够了。


根据通用近似定理,前馈网络和循环网络都有很强的能力。但是由于优化算法和计算能力的限制,在实践中很难达到通用近似的能力。特别是在处理复杂任务时,比如需要处理大量的输入信息或者复杂的计算流程时,目前计算机的计算能力依然是限制神经网络发展的瓶颈。

为了减少计算复杂度,通过部分借鉴生物神经网络的一些机制,我们引入了局部连接、权重共享以及汇聚操作来简化神经网络结构。



注意力(Attention)是大脑神经系统解决信息超载问题的主要手段,是在计算能力有限情况下的一种资源分配方案,将计算资源分配给更重要的任务。


当人脑获取信息的时候会自觉或不自觉地利用注意力机制从报道中获取更重要的信息,如标题,图片等。当用神经网络来处理大量的输入信息时,也可以借鉴人脑的注意力机制,只选择一些关键的信息输入进行处理,来提高神经网络的效率。以阅读理解任务为例,给定一篇很长的文本段落,然后就此文本段落的内容进行提问。提出的问题只和段落中的一两个句子相关,其余部分都是无关的。我们仅仅需要把相关的片段挑选出来就足够了。


在心理学中,有一种“鸡尾酒会效应”:当一个人在吵闹的鸡尾酒会上和朋友聊天时,尽管周围噪音干扰很多,他还是可以听到朋友的谈话内容,而忽略其他人的声音。同时,如果未注意到的背景声中有重要的词(比如他的名字),他会马上注意到。


邱老师也列举了一个经典的注意力实验,通过计算所有黑色牌数字的和进行注意力实验。我们在统计黑色牌数字和的时候,只需要专注牌的颜色和数字大小即可。


在目前的神经网络模型中,我们可以将最大汇聚(max pooling)、门控(gating)机制来近似地看作是自下而上的基于显著性的注意力机制。除此之外,自上而下的会聚式注意力也是一种有效的信息选择方式。以阅读理解任务为例,给定一篇很长的文章,然后就此文章的内容进行提问。提出的问题只和段落中的一两个句子相关,其余部分都是无关的。为了减小神经网络的计算负担,只需要把相关的片段挑选出来让后续的神经网络来处理,而不需要把所有文章内容都输入给神经网络。


是机器学习的一个子问题。神经网络的注意力模式常见的注意力模式有普通模式和变体模式:普通模式:我们用m1:N =[m1, · · · , mN]表示N 个输入信息。特定的上下文q时,为了节省计算资源,不需要将所有的 N 个输入信息都输入到神经网络进行计算,只需要从 m1, · · · , mN 中选择一个相关的信息输入给神经网络。我们用来表示注意力变量z ∈[1, N]来表示被选择信息的索引,即 z = i表示选择了第 i个输入信息。然后通过一个注意力打分函数获取注意力分布。键值对注意力用键值对(Key-Value Pair)格式来表示输入信息,其中“键”用来计算注意力分布 αi,“值”用来生成选择的信息。我们用(k, v)1:N = [(k1, v1), · · · , (kN , vN)]表示N 个输入信息。在特定的上下文 q 时,注意力函数为下面公式,在键值对模式中 ∀i, ki = vi,则就等价于普通模式。


在生物神经网络中,记忆是外界信息在人脑中存储机制。

人脑记忆的一个特点记忆一般分为长期记忆和短期记忆。长期记忆(long-termmemory),也称为知识(knowledge),体现为神经元之间的连接关系和连接权重,其更新速度比较慢;短期记忆(shorttermmemory)体现为神经元的活动,更新较快。短期记忆可以不断强化从而形成长期记忆。短期记忆、长期记忆的动态更新过程称为演化(evolution)过程。

联想记忆:大脑记忆的一个主要特点是通过联想来进行检索的。 联想记忆(associative memory)是指一种学习和记住不同对象之间关系的能力,比如看见一个人然后想起他的名字,或记住某种食物的味道等。


联想记忆模型主要是通过神经网络的动态演化来进行联想,有两种应用场景:1)输入的模式和输出的模式在同一空间,这种模型叫做自联想记忆模型(auto-associative model)。自联想模型可以通过前馈神经网络或者循环神经网络来实现,也经常称为自编码器(auto-encoder)。 2)输入的模式和输出的模式不在同一空间,这种模型叫做异联想记忆模型(hetero-associative model)。


通过联想记忆训练狗的进食与铃声的实验,比如狗在看到食物的时候会生津,在听到铃声的时候不会生津,通过在狗进食前进行铃声训练,久而久之,狗在下次听到铃声的时候就会生津。这是一种联想记忆的训练方法。


用神经网络和计算机类比人脑的记忆机制:

短期记忆:人脑中的工作记忆可用计算机中的寄存器类比,神经网络中的隐状态类比。

中期记忆:人脑中的情景记忆可用计算机中的内存类比,神经网络中的外部记忆类比。

长期记忆:人脑中的结构记忆可用计算机中的外存类比,神经网络中的可学习参数类比。


我们容易记住的是能和我们记忆中模式匹配的单词。


Hopfield网络(Hopfieldnetwork)是一种循环神经网络模型。有一些重要的特征,首先权重对称的要求是一个重要特征,因为它保证了能量方程(称向函数某一点收敛的过程为势能转化为能量)在神经元激活时单调递减,而不对称的权重可能导致周期性的递增或者噪声。然而,Hopfiled 网络也证明噪声过程会被局限在很小的范围,并且并不影响网络的最终性能。


网络容量问题也是限制神经网络能力的主要因素。为了克服这个限制,一些研究者引入了一种基于内容寻址的外部记忆来提高网络容量。对于有外部记忆的网络中,外部记忆被保存在数组、栈或队列等结构中。

外部记忆类型包括只读的外部记忆和可读写的外部记忆。

只读外部记忆如循环神经网络,可以多次从外部记忆中读取信息,是一种只读的外部记忆。

可读写的外部记忆可以i对记忆片段进行读操作和写操作


端到端记忆网络(End-To-EndMemory Network, MemN2N) [Sukhbaataret al., 2015]采用一种循环网络的结构,可以多次从外部记忆中读取信息,是一种只读的外部记忆。


动态记忆力网络



动态记忆网络[Kumar et al., 2015]也是引入了外部记忆的模型。主要包括输入模块,问题模块片段记忆模块,回答模块。动态记忆网络可进行端到端的训练,并在多种任务上取得了 state-of-the-art 的效果包括 QA(Facebook 的 bAbI 数据集),情感分析文本分类(Stanford Sentiment Treebank)和词性标注(WSJ-PTB).


神经图灵机(NeuralTuring Machine,NTM)[Graves et al., 2014]主要由两个部件构成:控制器和外部记忆。

控制器为一个神经网络,接受输入并产生输出,同时还可以对外部记忆进行读和写操作。
外部记忆定义为矩阵 m ∈RK×M,这里 K 是记忆片段的数量, M 是每个记忆片段的大小。 K 和 M 为超参数。


在去年10月,DeepMind 发表于 Nature 的一篇论文中,他们提出了一种叫做“可微分神经计算机”(DNC)的混合计算系统,将神经网络和一个外部存储器相结合。这个混合的计算系统既拥有神经网络可以从数据中学习的优势,也能够存储学到的知识——复杂的结构化数据。通过这个外部存储器,DeepMind 对神经网络进行了“记忆”增强,克服了神经网络无法长时间保存数据的缺点


注意力机制最成功的应用是机器翻译,也可以进行图像描述生成,机器阅读理解等应用。


通过引入注意力机制,我们将源语言中每个位置的信息都保存下来。在解码过程中生成每一个目标语言的单词时,我们都通过注意力机制直接从源语言的信息中选择相关的信息作为辅助。这样做有两个好处一是无需让所有的源语言信息都通过编码向量进行传递,在解码的每一步都可以直接访问源语言的所有位置上的信息;二是源语言的信息可以直接传递到解码过程中的每一步,缩短了信息传递的距离。

 


用一个三维的向量来表示颜色。红绿蓝向量表示是垂直的,作为三原色。


利用词嵌入word Embeddings方法学习到底单词的词向量,通过将高维度的单词学习低纬度空间表示,相似的单词在低维空间中的欧氏距离比较近。

来自认知科学的研究成果,利用分布式表示绘 制词汇大脑地图。词汇们分布在大脑四周,没有绝对的语言区域;意义相关的词语所激活的大脑区域相似;与词义对应的大脑区域呈双脑对称,这与过去一直以为的「左脑负责语义」的认识相悖;这份大脑词汇地图在人与人之间一致性很高


Mikolov对词嵌入的研究通过把每个单词变成向量空间中的一个向量,目的还是为了方便计算,比如“猫”,“狗”,“爱情”三个词。对于我们人而言,我们可以知道“猫”和“狗”表示的都是动物,而“爱情”是表示的一种情感。并且发现这些学到的向量具有一定的数学运算性质。

词嵌入模型有两个非常常见的模型,连续词袋模型和 Skip-Gram模型。


在语言表示学习中语言有不同的粒度,包括单词,短语,句子,篇章。即分别获得不同粒度的向量表示。

单词表示常见的方法有词袋模型和向量空间模型,以及词嵌入模型。

短语表示有组合语义模型。

句子表示有连续词袋模型,序列模型,递归组合模型,卷积模型等。

篇章表示有层次模型。


在自然语言处理任务重,在得到字,句子的表示之后,自然语言处理任务可以按照上述的类型划分。其中包括:

类别到序列:文本生成,图像描述生成

序列道类别:文本分类,情感分析

同步的序列到序列:中文分词,词性标注,语义角色标注

异步的序列到序列:机器翻译,自动摘要,对话系统


第三部分的深度学习进阶模型的记忆力与注意力机制部分结束了,敬请期待下一期的深度学习进阶部分。



特别提示-邱老师深度学习slide-part4下载


请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),

  • 后台回复“nndl4” 就可以获取本部分pdf下载链接~~


请对深度学习感兴趣的同学,扫描如下二维码,加入专知深度学习群,交流学习~

欢迎转发分享专业AI知识!


请查看更多,登录专知,获取更多AI知识资料,请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录,顶端搜索主题,查看获得对应主题专知荟萃全集知识等资料!如下图所示~

请扫描专知小助手,加入专知人工智能群交流~

专知荟萃知识资料全集获取(关注本公众号-专知,获取下载链接),请查看:

【专知荟萃01】深度学习知识资料大全集(入门/进阶/论文/代码/数据/综述/领域专家等)(附pdf下载)

【专知荟萃02】自然语言处理NLP知识资料大全集(入门/进阶/论文/Toolkit/数据/综述/专家等)(附pdf下载)

【专知荟萃03】知识图谱KG知识资料全集(入门/进阶/论文/代码/数据/综述/专家等)(附pdf下载)

【专知荟萃04】自动问答QA知识资料全集(入门/进阶/论文/代码/数据/综述/专家等)(附pdf下载)

【专知荟萃05】聊天机器人Chatbot知识资料全集(入门/进阶/论文/软件/数据/专家等)(附pdf下载)

【专知荟萃06】计算机视觉CV知识资料大全集(入门/进阶/论文/课程/会议/专家等)(附pdf下载)

【专知荟萃07】自动文摘AS知识资料全集(入门/进阶/代码/数据/专家等)(附pdf下载)

【专知荟萃08】图像描述生成Image Caption知识资料全集(入门/进阶/论文/综述/视频/专家等)

【专知荟萃09】目标检测知识资料全集(入门/进阶/论文/综述/视频/代码等)

【专知荟萃10】推荐系统RS知识资料全集(入门/进阶/论文/综述/视频/代码等)

【专知荟萃11】GAN生成式对抗网络知识资料全集(理论/报告/教程/综述/代码等)

【专知荟萃12】信息检索 Information Retrieval 知识资料全集(入门/进阶/综述/代码/专家,附PDF下载)

【专知荟萃13】工业学术界用户画像 User Profile 实用知识资料全集(入门/进阶/竞赛/论文/PPT,附PDF下载)

【专知荟萃14】机器翻译 Machine Translation知识资料全集(入门/进阶/综述/视频/代码/专家,附PDF下载)

【专知荟萃15】图像检索Image Retrieval知识资料全集(入门/进阶/综述/视频/代码/专家,附PDF下载)

【专知荟萃16】主题模型Topic Model知识资料全集(基础/进阶/论文/综述/代码/专家,附PDF下载)

【专知荟萃17】情感分析Sentiment Analysis 知识资料全集(入门/进阶/论文/综述/视频/专家,附查看)

【专知荟萃18】目标跟踪Object Tracking知识资料全集(入门/进阶/论文/综述/视频/专家,附查看)

-END-

欢迎使用专知

专知,一个新的认知方式! 专注在人工智能领域为AI从业者提供专业可信的知识分发服务, 包括主题定制、主题链路、搜索发现等服务,帮你又好又快找到所需知识。


使用方法>>访问www.zhuanzhi.ai, 或点击文章下方“阅读原文”即可访问专知

中国科学院自动化研究所专知团队

@2017 专知

专 · 知

关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法、深度干货等内容。扫一扫下方关注我们的微信公众号。

点击“阅读原文”,使用专知


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存